home *** CD-ROM | disk | FTP | other *** search
/ Talk to Me / Talk To Me - Packard Bell 1998.iso / SETUP.MS_ / SETUP.MS
Text File  |  1998-11-17  |  29KB  |  807 lines

  1. '-------------------------------------------
  2. '$INCLUDE 'setupapi.inc'
  3. '$INCLUDE 'MSDETECT.INC'
  4.  
  5. CONST   APPLI_NAME$             =       "Talk to Me"
  6. ''CONST   APPLI_NAME$           =       "Speak Fluent Spanish"
  7.  
  8. CONST   FILE_NAME$              =       "TALKTOME"
  9. ''CONST   FILE_NAME$            =       "SPEAK"
  10.  
  11. CONST   DEFAULT_LANGUAGE$       =       "1"                     '' Langue par dΘfaut (anglais:1, franτais:2...)
  12. CONST   MIN_SPACE&              =       20000000                '' Espace disque requis
  13.  
  14. '' Les constantes suivantes doivent Ωtre "" pour prendre leur valeur par dΘfaut
  15. CONST   DEF_ICON_NAME$          =       ""      '' Nom apparaissant sous l'ic⌠ne dans le gest de pgm.
  16.  
  17. CONST   DEFAULT_PATH$           =       ""      '' Rep. par dΘfault - ou "" pour auto
  18. ''CONST   DEFAULT_PATH$         =       "C:\GSP\SPEAK\"         '' Rep. par dΘfault - ou "" pour auto
  19.  
  20. CONST   DEF_GROUP_NAME$         =       ""      '' Groupe de programme dans lequel les ic⌠nes sont inclues
  21. ''CONST   DEF_GROUP_NAME$       =       "GSP STAR Collection"   '' Groupe de programme dans lequel les ic⌠nes sont inclues
  22.  
  23. CONST   TITLE$                  =       ""                      '' Titre setup
  24. ''Japanese: CONST   TITLE$                  =       "Talk to Me âZâbâgâAâbâv"
  25.  
  26.  
  27. CONST   TRACK                   =       0  ''suivi de l'ΘlΦve
  28. CONST   UNINSTALL               =       1  ''Procedure de dΘsinstallation
  29. CONST   TUTORIAL                =       1  ''Didactitiel
  30.  
  31. CONST   CHOOSE_LANG             =       1  ''Choix de la langue de l'utilisateur
  32. CONST   ONLY_SEL_LANG           =       0  ''Copie seulement le support de la langue Utilisateur choisie sur le disque (HLP & dicos)
  33. CONST   UTILISE_LAN             =       1  ''Utilises les LAN ou non
  34. CONST   INSTALL_DICO            =       0  ''Installation des options (dico...)
  35.  
  36. CONST   CHOOSE_LEVEL            =       1  ''Choix du niveau de tolΘrance minimum/par dΘfaut
  37. CONST   CHOOSE_DEST_PATH        =       1  ''Choix du rΘpertoire de destination
  38. CONST   CHOOSE_COURSE_PATH      =       1  ''Choix du rΘpertoire o∙ se trouvent les cours
  39.  
  40. CONST   VIDEO_DRV               =       1  ''Installation des drivers Video for Windows
  41.  
  42. CONST   LH_TECHNO               =       1  ''Support technologie L&H
  43. CONST   SCOTT_TECHNO            =       0  ''Support technologie Scott
  44.  
  45. CONST   INTRO_MIDI              =       1  ''Installe Fichiers intro*.MID
  46. CONST   INTRO_WAV               =       0  ''Installe Fichiers intro*.WAV
  47. CONST   PLAY_INTRO              =       0  ''Joue la musique d'intro ?
  48.  
  49. ''Options liees a la langue d'interface installee
  50. CONST MAX_LANGUE = 15
  51. GLOBAL LangueChoisie
  52. GLOBAL Langue           (MAX_LANGUE) AS STRING   ''Langue utilisee
  53. GLOBAL FichierLAN       (MAX_LANGUE) AS STRING   ''Nom du fichier LAN (3 lettres)
  54. GLOBAL RubriqueInf      (MAX_LANGUE) AS STRING   ''Rubrique contenant dicos, lans...
  55. GLOBAL RepDidacticiel   (MAX_LANGUE) AS STRING   ''Repertoire du didacticiel
  56. GLOBAL IconeDidacticiel (MAX_LANGUE) AS STRING   ''Nom de l'icone du didacticiel
  57. GLOBAL IconeUnInstall   (MAX_LANGUE) AS STRING   ''Nom de l'icone de l'uninstall
  58. GLOBAL IconeSuivi       (MAX_LANGUE) AS STRING   ''Nom de l'icone du suivi
  59.  
  60. ''Options de configuration
  61. GLOBAL  REP_DEST$
  62. GLOBAL  REP_COURS$
  63. GLOBAL    OPT_NIV$
  64. GLOBAL  REP_SUIVI$
  65. GLOBAL  OPT_SUIVI$
  66.  
  67. CONST   WELCOME                 =   100
  68. CONST   DESTPATH                =   300
  69. CONST   EXITFAILURE             =   400
  70. CONST   EXITQUIT                =   600
  71. CONST   EXITSUCCESS             =   700
  72. CONST   EXITSUCCESS_RELANCE     =   750
  73. CONST   OPTIONS                 =   800
  74. CONST   APPHELP                 =   900
  75. CONST   TOOBIG                  =  6300
  76. CONST   BADPATH                 =  6400
  77. CONST   OPTIONS_LANGUES         =  6401
  78. CONST   DESTPATH_COURSES        =  6402
  79. CONST   DESTPATH_SUIVI          =  6403
  80.  
  81. DECLARE FUNCTION ShowWindow     LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  82. DECLARE FUNCTION SetWindowLong  LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  83. Const WS_VISIBLE = &H10000000
  84. Const WS_CLIPCHILDREN = &H2000000
  85. Const WS_BORDER = &H800000
  86. Const SW_SHOWMAXIMIZED = 3
  87. CONST GWL_STYLE =-16
  88.  
  89. GLOBAL     CUIDLL$
  90. GLOBAL    HELPPROC$
  91.  
  92. DECLARE FUNCTION CheminApplication ( ) AS STRING
  93. DECLARE FUNCTION CheminCours ( )       AS STRING
  94. DECLARE FUNCTION CheminSuivi ( )       AS STRING
  95.  
  96. DECLARE FUNCTION OptionNiveau ( ) AS STRING
  97. DECLARE FUNCTION OptionLangue ( ) AS STRING
  98.  
  99. DECLARE SUB      InitialisationTableauxLangue
  100. DECLARE SUB      Initialisation
  101. DECLARE SUB      CopieDesFichiers
  102. DECLARE SUB      ConfigurerApplication
  103.  
  104. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  105. DECLARE SUB      MauvaisChemin 
  106.  
  107. '-----------------------------------------------------
  108. INIT:
  109. ''Initialisations
  110.     InitialisationTableauxLangue
  111.     Initialisation
  112.  
  113. WELCOME:
  114.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  115.     IF sz$ = "CONTINUE" THEN
  116.         UIPop 1
  117.     ELSE
  118.         ERROR STFQUIT
  119.         GOTO QUIT 
  120.     END IF
  121.  
  122. ''Choix du repertoire de destination
  123. LAB_DEST_AVANCE:
  124.     IF CHOOSE_DEST_PATH=0 THEN
  125.         GOTO LAB_CHECK
  126.     END IF
  127.  
  128. LAB_DEST_RECULE:
  129.     IF CHOOSE_DEST_PATH=0 THEN
  130.         GOTO WELCOME
  131.     END IF
  132.  
  133. LAB_DEST:
  134.     sz$ = CheminApplication()
  135.     IF sz$ = "BACK" THEN
  136.         GOTO WELCOME
  137.     ELSEIF sz$ = "ERREUR" THEN
  138.         ERROR STFQUIT
  139.         GOTO QUIT
  140.     END IF
  141.  
  142. LAB_CHECK:
  143.     taille& =  GetFreeSpaceForDrive(MID$(REP_DEST$, 1, 1))
  144.     IF (taille < MIN_SPACE&) THEN ''Moins de 20Mo de place
  145.         sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", APPHELP, HELPPROC$)
  146.         IF sz$ = "CONTINUE" THEN
  147.             UIPop 1
  148.         ELSEIF sz$ = "BACK" THEN
  149.             UIPop 1
  150.             GOTO LAB_DEST
  151.         ELSE
  152.             ERROR STFQUIT
  153.             GOTO QUIT 
  154.         END IF
  155.     END IF
  156.                 
  157. ''Choix du repertoire pour les cours
  158. LAB_COURS_AVANCE:
  159.     IF CHOOSE_COURSE_PATH=0 THEN
  160.         GOTO LAB_OPT_NIV_AVANCE
  161.     END IF
  162.  
  163. LAB_COURS_RECULE:
  164.     IF CHOOSE_COURSE_PATH=0 THEN
  165.         GOTO LAB_DEST_RECULE
  166.     END IF
  167.  
  168. LAB_COURS:
  169.     sz$ = CheminCours()
  170.     IF sz$ = "BACK" THEN
  171.         GOTO LAB_DEST_RECULE
  172.     ELSEIF sz$ = "ERREUR" THEN
  173.         ERROR STFQUIT
  174.         GOTO QUIT
  175.     END IF
  176.  
  177. ''Choix du niveau de seuil de tolerance
  178. LAB_OPT_NIV_AVANCE:
  179.     IF CHOOSE_LEVEL=0 THEN
  180.         GOTO LAB_OPT_LAN_AVANCE
  181.     END IF
  182.  
  183. LAB_OPT_NIV_RECULE:
  184.     IF CHOOSE_LEVEL=0 THEN
  185.         GOTO LAB_COURS_RECULE
  186.     END IF
  187.  
  188. LAB_OPT_NIV:
  189.     sz$ = OptionNiveau()
  190.     IF sz$ = "BACK" THEN
  191.         GOTO LAB_COURS_RECULE
  192.     ELSEIF sz$ = "ERREUR"   THEN
  193.         ERROR STFQUIT
  194.         GOTO QUIT
  195.     END IF
  196.  
  197. ''Choix de la langue d'interface
  198. LAB_OPT_LAN_AVANCE:
  199.     IF CHOOSE_LANG=0 THEN
  200.         GOTO LAB_SUIVI_AVANCE
  201.      END IF
  202.  
  203. LAB_OPT_LAN_RECULE:
  204.     IF CHOOSE_LANG=0 THEN
  205.         GOTO LAB_OPT_NIV_RECULE
  206.     END IF
  207.  
  208. LAB_OPT_LAN:
  209.     sz$ = OptionLangue()
  210.     IF sz$ = "BACK" THEN
  211.         GOTO LAB_OPT_NIV_RECULE
  212.     ELSEIF sz$ = "ERREUR" THEN
  213.         ERROR STFQUIT
  214.         GOTO QUIT
  215.     END IF
  216.  
  217. ''Choix des informations du suivi
  218. LAB_SUIVI_AVANCE:
  219.     IF TRACK=0 THEN
  220.         GOTO LAB_GO
  221.     END IF
  222.  
  223. LAB_SUIVI:
  224.     sz$ = CheminSuivi()
  225.     IF sz$ = "BACK" THEN
  226.         GOTO LAB_OPT_LAN_RECULE
  227.     ELSEIF sz$ = "ERREUR" THEN
  228.         ERROR STFQUIT
  229.         GOTO QUIT
  230.     END IF
  231.  
  232.  
  233. LAB_GO:
  234. ''Lancement de la copie des fichiers
  235.     CopieDesFichiers 
  236.     
  237. ''Configuration fichier INI et groupe de programme
  238.     ConfigurerApplication 
  239.  
  240. QUIT:
  241.     ON ERROR GOTO ERRQUIT
  242.  
  243.     IF ERR = 0 THEN
  244.         IF Relance = 1 THEN
  245.             dlg% = EXITSUCCESS_RELANCE
  246.         ELSE
  247.             dlg% = EXITSUCCESS
  248.         ENDIF
  249.     ELSEIF ERR = STFQUIT THEN
  250.         dlg% = EXITQUIT
  251.     ELSE
  252.         dlg% = EXITFAILURE
  253.     END IF
  254. QUITL1:
  255.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  256.     IF sz$ = "REACTIVATE" THEN
  257.         GOTO QUITL1
  258.     END IF
  259.     UIPop 1
  260.  
  261.     END
  262.  
  263. ERRQUIT:
  264.     i% = DoMsgBox("Setup sources were corrupted, call (33) (1) 30 64 92 92!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  265.     END
  266. '----------------------------------------------------------------------------------------                       
  267.  
  268.  
  269.  
  270.  
  271. '*************************************************************************
  272. SUB CopieDesFichiers () STATIC
  273.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  274.     CreateDir REP_DEST$, cmoNone
  275.  
  276.     ''Copier les fichiers a mettre dans le repertoire de l'application
  277.     AddSectionFilesToCopyList "Files", SrcDir$, REP_DEST$
  278.  
  279.     IF SCOTT_TECHNO=1 THEN
  280.         AddSectionFilesToCopyList "Systems Files 2",  SrcDir$, REP_DEST$
  281.     ENDIF
  282.  
  283.     IF LH_TECHNO=1 THEN 
  284.         AddSectionFilesToCopyList "Systems Files 1",  SrcDir$, REP_DEST$
  285.     ENDIF
  286.  
  287.     ''Installation des aides, fichiers LAN et dicos
  288.     IF ONLY_SEL_LANG=1 THEN
  289.         AddSectionFilesToCopyList RubriqueInf$(LangueChoisie)+" support",  SrcDir$, REP_DEST$
  290.         IF UTILISE_LAN=1 THEN
  291.             AddSectionFilesToCopyList RubriqueInf(LangueChoisie)+" LAN",  SrcDir$, REP_DEST$
  292.         ENDIF
  293.         IF INSTALL_DICO  = 1 THEN
  294.             AddSectionFilesToCopyList RubriqueInf(LangueChoisie)+" options",  SrcDir$, REP_DEST$
  295.         END IF
  296.     ELSE
  297.         FOR i%=1 TO MAX_LANGUE STEP 1
  298.             AddSectionFilesToCopyList RubriqueInf(i%)+" support",  SrcDir$, REP_DEST$
  299.             IF UTILISE_LAN=1 THEN
  300.                 AddSectionFilesToCopyList RubriqueInf(i%)+" LAN",  SrcDir$, REP_DEST$
  301.             ENDIF
  302.             IF INSTALL_DICO  = 1 THEN
  303.                 AddSectionFilesToCopyList RubriqueInf(i%)+" options",  SrcDir$, REP_DEST$
  304.             END IF
  305.         NEXT i%
  306.     ENDIF
  307.  
  308.     ''Suivi de l'eleve
  309.     IF TRACK=1 THEN
  310.         AddSectionFilesToCopyList "Tracking option",  SrcDir$, REP_DEST$
  311.     END IF
  312.  
  313.     ''Musiques d'introduction
  314.     IF INTRO_WAV=1 THEN
  315.         AddSectionFilesToCopyList "Intro WAV",  SrcDir$, REP_DEST$
  316.     END IF
  317.     IF INTRO_MIDI=1 THEN
  318.         AddSectionFilesToCopyList "Intro MIDI",  SrcDir$, REP_DEST$
  319.     END IF
  320.  
  321.     ''Video for Windows
  322.     IF VIDEO_DRV=1 THEN
  323.         WINSYS$ = GetWindowsSysDir()
  324.         AddSectionFilesToCopyList "Video for Windows Files", SrcDir$, WINSYS$
  325.     ENDIF
  326.  
  327.     ''Copie des fichiers
  328.     CopyFilesInCopyList
  329. END SUB
  330. '*************************************************************************
  331.  
  332.  
  333. '*************************************************************************
  334. SUB ConfigurerApplication () STATIC
  335.  
  336.     IF DEF_GROUP_NAME$="" THEN
  337.         GROUP_NAME$=APPLI_NAME$
  338.     ELSE    
  339.         GROUP_NAME$=DEF_GROUP_NAME$
  340.     ENDIF
  341.  
  342.     IF DEF_ICON_NAME$="" THEN
  343.         ICON_NAME$=APPLI_NAME$
  344.     ELSE    
  345.         ICON_NAME$=DEF_ICON_NAME$
  346.     ENDIF
  347.  
  348.     ''Fichiers INI
  349.     WINDIR$ = GetWindowsDir()
  350.     SystemIni$ = MakePath(WINDIR$, "SYSTEM.INI")
  351.     WinIni$    = MakePath(WINDIR$, "WIN.INI")
  352.  
  353.     ''Configuration de l'application
  354.     ini$ = MakePath(WINDIR$, FILE_NAME$+".INI")
  355.     CreateIniKeyValue ini$, "Dialogue", "AcceptLevelMini", OPT_NIV$ , cmoOverwrite
  356.     CreateIniKeyValue ini$, "Dialogue", "AcceptLevel",     "3" , cmoOverwrite
  357.     CreateIniKeyValue ini$, "Dialogue", "ShowAnimation",   "0" , cmoOverwrite
  358.     
  359.     CreateIniKeyValue ini$, "Main", "PathLesson",        REP_COURS$ ,        cmoOverwrite
  360.     CreateIniKeyValue ini$, "Main",  "Language",         Langue(LangueChoisie)     ,      cmoOverwrite
  361.     CreateIniKeyValue ini$, "Main",  "LanguageLAN",      FichierLan(LangueChoisie) ,      cmoOverwrite
  362.     CreateIniKeyValue ini$, "Main",  "Tone",             "1" ,          cmoOverwrite
  363.     CreateIniKeyValue ini$, "Main",  "ToneFile",         "Tone.AUD" ,   cmoOverwrite
  364.     CreateIniKeyValue ini$, "Main",  "StretchBitmap",    "0" ,          cmoOverwrite
  365.     CreateIniKeyValue ini$, "Main",  "StretchVideo",     "0" ,          cmoOverwrite
  366.  
  367.     CreateIniKeyValue ini$, "Fonts", "Questions_Typeset", "Arial" ,     cmoOverwrite
  368.     CreateIniKeyValue ini$, "Fonts", "Locutions_Typeset", "Arial" ,     cmoOverwrite
  369.     CreateIniKeyValue ini$, "Fonts", "Replies_Typeset",   "Arial" ,     cmoOverwrite
  370.     CreateIniKeyValue ini$, "Fonts", "Errors_Typeset",    "Arial" ,     cmoOverwrite
  371.  
  372.     CreateIniKeyValue ini$, "AutoBoot",  "Path",   MakePath(REP_DEST$, FILE_NAME$+".EXE") + " " + REP_COURS$, cmoOverwrite
  373.  
  374.     '' L&H ASR
  375.     IF LH_TECHNO=1 THEN
  376.         CreateIniKeyValue ini$, "Asr",   "OnHardDisk",  "Nothing",    cmoOverwrite
  377.         CreateIniKeyValue ini$, "Asr",   "Path",        MakePath(REP_DEST$,"ASR"),  cmoOverwrite
  378.         CreateIniKeyValue ini$, "Asr",   "AdaptMixer",  "0",    cmoOverwrite
  379.  
  380.         '' Fichier ASRAPI.INI
  381.         AsrapiIni$ = MakePath(REP_DEST$, "ASRAPI.INI")
  382.         CreateIniKeyValue AsrapiIni$, "Databases",     "NbrOfDatabases", "1",                     cmoOverwrite
  383.         CreateIniKeyValue AsrapiIni$, "Databases",     "DBDir1Name",     "AL",                    cmoOverwrite
  384.         CreateIniKeyValue AsrapiIni$, "Databases",     "DBDir1",         MakePath(REP_DEST$,"ASR"),   cmoOverwrite
  385.         CreateIniKeyValue AsrapiIni$, "Grammars",      "NbrOfCompilers", "0",                     cmoOverwrite
  386.         CreateIniKeyValue AsrapiIni$, "ExportFormats", "NbrOfFormats",   "0",                     cmoOverwrite
  387.  
  388.         ''Fichier SYSTEM.INI
  389.         CreateIniKeyValue SystemIni$, "WINRECWINDSP", "Driver",  "WinDspli.DLL" , cmoOverwrite
  390.         CreateIniKeyValue SystemIni$, "WINRECWINDSP", "Address", "345" ,         cmoOverwrite  
  391.     END IF
  392.  
  393.     '' Suivi
  394.     IF TRACK=1 THEN 
  395.         CreateIniKeyValue ini$, "Main", "TrackingPath", REP_SUIVI$ , cmoOverwrite
  396.         CreateIniKeyValue ini$, "Main", "Tracking",     OPT_SUIVI$, cmoOverwrite
  397.  
  398.         TrackIni$ = MakePath(WINDIR$, "TRACK.INI")
  399.         CreateIniKeyValue TrackIni$, "Main", "IniFile",  FILE_NAME$+".INI" ,  cmoOverwrite
  400.         CreateIniKeyValue TrackIni$, "Main",  "Language",    Langue(LangueChoisie)     , cmoOverwrite
  401.         CreateIniKeyValue TrackIni$, "Main",  "LanguageLAN", FichierLan(LangueChoisie) , cmoOverwrite
  402.     END IF
  403.  
  404.     ''Musique d'intro
  405.     CreateIniKeyValue ini$, "Sound", "Intro", STR$(PLAY_INTRO), cmoNone
  406.  
  407.  
  408.     '' UnInstall
  409.     IF UNINSTALL=1 THEN
  410.         UnInstallIni$ = MakePath(REP_DEST$, "UNINSTAL.INI")
  411.         CreateIniKeyValue UnInstallIni$, "Main",  "Language",    Langue(LangueChoisie)     , cmoOverwrite
  412.         CreateIniKeyValue UnInstallIni$, "Main",  "LanguageLAN", FichierLan(LangueChoisie) , cmoOverwrite
  413.         CreateIniKeyValue UnInstallIni$, "UnInstall", "IniFile",   FILE_NAME$+".INI",    cmoOverwrite
  414.  
  415.         CreateIniKeyValue UnInstallIni$, "UnInstall", "Name",   APPLI_NAME$,    cmoOverwrite
  416.         CreateIniKeyValue UnInstallIni$, "UnInstall", "Path",   REP_DEST$,      cmoOverwrite
  417.         CreateIniKeyValue UnInstallIni$, "UnInstall", "Group",  GROUP_NAME$,    cmoOverwrite
  418.         CreateIniKeyValue UnInstallIni$, "UnInstall", "Icon1",  ICON_NAME$,     cmoOverwrite
  419.         CreateIniKeyValue UnInstallIni$, "UnInstall", "Icon2",  IconeUnInstall(LangueChoisie),   cmoOverwrite
  420.         NBICON = 2
  421.         IF  TRACK=1 THEN
  422.             NBICON = NBICON +1
  423.             CreateIniKeyValue UnInstallIni$, "UnInstall", "Track",   "1",    cmoOverwrite
  424.             CreateIniKeyValue UnInstallIni$, "UnInstall", "Icon"+LTRIM$(STR$(NBICON)),  IconeSuivi(LangueChoisie), cmoOverwrite
  425.         ENDIF
  426.         IF TUTORIAL=1 THEN
  427.             NBICON = NBICON +1
  428.             CreateIniKeyValue UnInstallIni$, "UnInstall", "Icon"+LTRIM$(STR$(NBICON)),  IconeDidacticiel(LangueChoisie),  cmoOverwrite
  429.         ENDIF
  430.         CreateIniKeyValue UnInstallIni$, "UnInstall", "NbIcon", LTRIM$(STR$(NBICON)) , cmoOverwrite
  431.     END IF
  432.  
  433.     '' Modification de win.ini et system.ini pour accepter la video numerique    
  434.     IF VIDEO_DRV=1 THEN        
  435.         CreateIniKeyValue WinIni$,  "mci extensions", "avi", "AVIVideo" , cmoNone
  436.         CreateIniKeyValue SystemIni$,  "mci", "AVIVideo" , "mciavi.drv", cmoNone
  437.         CreateIniKeyValue SystemIni$,  "drivers", "VIDC.CVID", "iccvid.drv" , cmoNone
  438.         CreateIniKeyValue SystemIni$,  "drivers", "VIDC.MSVC", "msvidc.drv" , cmoNone
  439.     END IF
  440.  
  441.     ''Installation des icones
  442.     CreateProgmanGroup  GROUP_NAME$, "", cmoNone
  443.     ShowProgmanGroup    GROUP_NAME$, 1, cmoNone
  444.     CreateProgmanItem   GROUP_NAME$, ICON_NAME$, MakePath(REP_DEST$,FILE_NAME$+".EXE") + " " + REP_COURS$, "", cmoOverwrite
  445.  
  446.     'Creation d'une icone pour le didacticiel
  447.     IF TUTORIAL=1 THEN
  448.         IF MID$(REP_COURS$, LEN(REP_COURS$), 1) <> "\" THEN
  449.             REP_COURS$ = REP_COURS$ + "\"
  450.         END IF
  451.         CreateProgmanItem   GROUP_NAME$, IconeDidacticiel(LangueChoisie), REP_COURS$ + RepDidacticiel(LangueChoisie) + "\" + "PRES_AL.EXE", "", cmoOverwrite
  452.     END IF
  453.  
  454.     IF TRACK=1 THEN
  455.         CreateProgmanItem   GROUP_NAME$, IconeSuivi(LangueChoisie),   MakePath(REP_DEST$,"TRACK.EXE") , "", cmoOverwrite
  456.     END IF
  457.  
  458.     IF UNINSTALL=1 THEN
  459.         CreateProgmanItem   GROUP_NAME$, IconeUnInstall(LangueChoisie),  MakePath(REP_DEST$,"UNINSTAL.EXE"), "", cmoOverwrite
  460.     END IF
  461.     
  462. END SUB
  463. '*************************************************************************
  464.  
  465.                       
  466. '******************************************************************************
  467. '******************************************************************************
  468. '******************************************************************************
  469. '******************************************************************************
  470. '******************************************************************************
  471.  
  472. '******************************************************************************
  473. ''Initialisations diverses
  474. SUB Initialisation STATIC
  475.     CUIDLL$   = "mscuistf.dll"
  476.     HELPPROC$ = "FHelpDlgProc"
  477.  
  478.     ''Mettre en plein ecran
  479.     mainWnd%=HwndFrame()
  480.     w&=SetWindowLong(mainWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  481.     j%=ShowWindow(mainWnd%,SW_SHOWMAXIMIZED)
  482.  
  483.     IF DEFAULT_PATH$ = "" THEN
  484.         REP_DEST$ = "C:\"+FILE_NAME$+"\"
  485.     ELSE
  486.         REP_DEST$ = DEFAULT_PATH$
  487.     END IF
  488.  
  489.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  490.     szDrive$ = MID$(SrcDir$ , 1, 1)
  491.     IF szDrive$ = "A" THEN
  492.         REP_COURS$ = "D:\"
  493.     ELSEIF szDrive$ = "B" THEN
  494.         REP_COURS$ = "D:\"
  495.      ELSE
  496.         REP_COURS$ = SrcDir$
  497.     END IF
  498.  
  499. ''Options par defaut
  500.     OPT_NIV$ = "3"
  501.     OPT_SUIVI$ = "3"
  502.     LangueChoisie = VAL(DEFAULT_LANGUAGE$)
  503.     
  504.     SetBitmap CUIDLL$,1
  505.  
  506. ''    IF TITLE$="" THEN
  507. ''        THETITLE$ = APPLI_NAME$+" Setup"
  508. ''    ELSE
  509. ''        THETITLE$ = TITLE$
  510. ''        END IF
  511.     SetTitle THETITLE$
  512.  
  513.     szInf$ = GetSymbolValue ("STF_SRCINFPATH")
  514.     IF (szInf$ = "") THEN
  515.         szInf$ = GetSymbolValue ("STF_CWDDIR") + "SETUP.INF"
  516.     END IF
  517.     ReadInfFile szInf$
  518. END SUB
  519. '*************************************************************************
  520.  
  521.  
  522. '******************************************************************************
  523. ''Affiche une boite pour indiquer un mauvais chemin
  524. SUB MauvaisChemin STATIC
  525. BADPATH1:
  526.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  527.     IF sz$ = "REACTIVATE" THEN
  528.         GOTO BADPATH1
  529.     END IF
  530.     UIPop 1
  531. END SUB
  532. '******************************************************************************
  533.  
  534.  
  535. '*************************************************************************
  536. ''Creer un chemin
  537. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  538.     IF szDir$ = "" THEN
  539.         MakePath = szFile$
  540.     ELSEIF szFile$ = "" THEN
  541.         MakePath = szDir$
  542.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  543.         MakePath = szDir$ + szFile$
  544.     ELSE
  545.         MakePath = szDir$ + "\" + szFile$
  546.     END IF
  547. END FUNCTION
  548. '*************************************************************************
  549.  
  550.  
  551. '******************************************************************************
  552. ''Boite pour demander le chemin pour installer l'application
  553. FUNCTION  CheminApplication () STATIC AS STRING
  554.     SetSymbolValue "EditTextIn", REP_DEST$
  555.     SetSymbolValue "EditFocus", "END"
  556.  
  557. GETPATHL1:
  558.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  559.     REP_DEST$ = GetSymbolValue("EditTextOut")
  560.  
  561.     IF sz$ = "CONTINUE" THEN
  562.         IF IsDirWritable(REP_DEST$) = 0 THEN
  563.             MauvaisChemin
  564.             GOTO GETPATHL1
  565.         END IF
  566.         UIPop 1
  567.         CheminApplication  = sz$
  568.     ELSEIF sz$ = "REACTIVATE" THEN
  569.         GOTO GETPATHL1
  570.     ELSEIF sz$ = "BACK" THEN
  571.         UIPop 1
  572.         CheminApplication  = "BACK"
  573.     ELSE    ''Erreur
  574.         CheminApplication  = "ERREUR"
  575.     END IF
  576. END FUNCTION
  577. '******************************************************************************
  578.  
  579.  
  580. '******************************************************************************
  581. ''Recuperer l'emplacement des cours
  582. FUNCTION  CheminCours () STATIC AS STRING
  583.  
  584.     SetSymbolValue "EditTextIn", REP_COURS$
  585.     SetSymbolValue "EditFocus", "END"
  586.  
  587. GETPATHL2:
  588.     sz$ = UIStartDlg(CUIDLL$, DESTPATH_COURSES, "FEditDlgProc", APPHELP, HELPPROC$)
  589.     REP_COURS$ = GetSymbolValue("EditTextOut")
  590.  
  591.     IF sz$ = "CONTINUE" THEN
  592.         UIPop 1
  593.         CheminCours  = sz$
  594.     ELSEIF sz$ = "REACTIVATE" THEN
  595.         GOTO GETPATHL2
  596.     ELSEIF sz$ = "BACK" THEN
  597.         UIPop 1
  598.         CheminCours  = "BACK"
  599.     ELSE    ''Erreur
  600.         CheminCours  = "ERREUR"
  601.     END IF
  602. END FUNCTION
  603. '******************************************************************************
  604.  
  605.  
  606. '******************************************************************************
  607. ''Recuperer le niveau minimum pour le seuil de tolerance
  608. FUNCTION  OptionNiveau () STATIC AS STRING
  609.     SetSymbolValue "RadioDefault", OPT_NIV$
  610. OPTL1:
  611.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  612.     OPT_NIV$ = GetSymbolValue("ButtonChecked")
  613.  
  614.     IF sz$ = "CONTINUE" THEN
  615.         UIPop(1)
  616.         OptionNiveau  = sz$
  617.     ELSEIF sz$ = "REACTIVATE" THEN
  618.         GOTO OPTL1
  619.     ELSEIF sz$ = "BACK" THEN
  620.         UIPop 1
  621.         OptionNiveau  = "BACK"
  622.     ELSE
  623.         OptionNiveau  = "ERREUR"
  624.     END IF
  625. END FUNCTION
  626. '******************************************************************************
  627.  
  628.  
  629. '******************************************************************************
  630. ''Boite de choix de la langue
  631. FUNCTION  OptionLangue () STATIC AS STRING
  632.     SetSymbolValue "RadioDefault", STR$(LangueChoisie)
  633. OPTL2:
  634.     sz$ = UIStartDlg(CUIDLL$, OPTIONS_LANGUES, "FRadioDlgProc", APPHELP, HELPPROC$)
  635.     LangueChoisie = VAL(GetSymbolValue("ButtonChecked"))
  636.  
  637.     IF sz$ = "CONTINUE" THEN
  638.         UIPop(1)
  639.         OptionLangue =  sz$
  640.     ELSEIF sz$ = "REACTIVATE" THEN
  641.         GOTO OPTL2
  642.     ELSEIF sz$ = "BACK" THEN
  643.         UIPop 1
  644.         OptionLangue = "BACK"
  645.     ELSE
  646.         OptionLangue = "ERREUR"
  647.     END IF
  648. END FUNCTION
  649. '******************************************************************************
  650.  
  651.  
  652. '******************************************************************************
  653. ''Boite pour avoir les informations sur le suivi
  654. FUNCTION  CheminSuivi () STATIC AS STRING
  655.     ''Recuperer le nom repertoire dans lequel on placera le suivi
  656.     SetSymbolValue "EditTextIn", REP_DEST$
  657.     SetSymbolValue "EditFocus", "END"
  658.     SetSymbolValue "RadioDefault", STR$(VAL(OPT_SUIVI$) + 1)
  659.  
  660. GETPATHL2:
  661.     sz$ = UIStartDlg(CUIDLL$, DESTPATH_SUIVI, "FEditRadioDlgProc", APPHELP, HELPPROC$)
  662.     REP_SUIVI$ = GetSymbolValue("EditTextOut")
  663.     OPT_SUIVI$ = STR$(VAL(GetSymbolValue("ButtonChecked")) -1)
  664.  
  665.     IF sz$ = "CONTINUE" THEN
  666.         UIPop 1
  667.         CheminSuivi  = sz$
  668.     ELSEIF sz$ = "REACTIVATE" THEN
  669.         GOTO GETPATHL2
  670.     ELSEIF sz$ = "BACK" THEN
  671.         UIPop 1
  672.         CheminSuivi  = "BACK"
  673.     ELSE    ''Erreur
  674.         CheminSuivi  = "ERREUR"
  675.     END IF
  676. END FUNCTION
  677. '******************************************************************************
  678.  
  679. '******************************************************************************
  680. '******************************************************************************
  681. '******************************************************************************
  682. '******************************************************************************
  683. '******************************************************************************
  684.  
  685.  
  686. '******************************************************************************
  687. ''Initialisations des tabelaux relatifs aux langues
  688. SUB InitialisationTableauxLangue STATIC
  689.     FOR i%=1 TO MAX_LANGUE STEP 1
  690.         Langue(i%)           = "English"
  691.         FichierLAN(i%)       = "ANG"
  692.         RubriqueInf(i%)      = "English"
  693.         RepDidacticiel(i%)   = "ANG_CBT"
  694.         IconeDidacticiel(i%) = "Tutorial"
  695.         IconeUnInstall(i%)   = "UnInstall"
  696.         IconeSuivi(i%)       = "Tracking"
  697.     NEXT i%
  698.  
  699.     ''Francais N° 2
  700.         Langue(2)           = "franτais"
  701.         FichierLAN(2)       = "FRA"
  702.         RubriqueInf(2)      = "French"
  703.         RepDidacticiel(2)   = "FRA_CBT"
  704.         IconeDidacticiel(2) = "Didacticiel"
  705.         IconeUnInstall(2)   = "DΘsinstallation"
  706.         IconeSuivi(2)       = "Suivi de l'ΘlΦve"
  707.  
  708.  
  709.     ''Allemand N° 3
  710.         Langue(3)           = "deutsch"
  711.         FichierLAN(3)       = "ALL"
  712.         RubriqueInf(3)      = "German"
  713.         RepDidacticiel(3)   = "ALL_CBT"
  714.         IconeDidacticiel(3) = "Lernprogramm"
  715.         IconeUnInstall(3)   = "Deinstallation"
  716.         IconeSuivi(3)       = "Lernerdatei"
  717.  
  718.  
  719.     ''Espagnol N° 4
  720.         Langue(4)           = "espa±ol"
  721.         FichierLAN(4)       = "ESP"
  722.         RubriqueInf(4)      = "Spanish"
  723.         RepDidacticiel(4)   = "ESP_CBT"
  724.         IconeDidacticiel(4) = "Programa didßctico"
  725.         IconeUnInstall(4)   = "Desinstalaci≤n"
  726.         IconeSuivi(4)       = "Balance de alumno"
  727.  
  728.     ''Italien N° 5
  729.         Langue(5)           = "italian"
  730.         FichierLAN(5)       = "ITA"
  731.         RubriqueInf(5)      = "Italian"
  732.         RepDidacticiel(5)   = "ITA_CBT"
  733.         IconeUnInstall(5)   = "Disinstalla"
  734.         IconeDidacticiel(5) = "Tutorial"
  735.         
  736.     ''Hollandais N° 6
  737.         Langue(6)           = "dutch"
  738.         FichierLAN(6)       = "DUT"
  739.         RubriqueInf(6)      = "Dutch"
  740.         RepDidacticiel(6)   = "ANG_CBT"
  741.         IconeUnInstall(5)   = "Uninstall"
  742.         IconeDidacticiel(5) = "Tutorial"
  743.  
  744.     ''Danois N° 7
  745.         Langue(7)           = "danish"
  746.         FichierLAN(7)       = "DAN"
  747.         RubriqueInf(7)      = "Danish"
  748.         RepDidacticiel(7)   = "DAN_CBT"
  749.  
  750.     ''Japonais N° 14
  751.         Langue(14)           = "japanese"
  752.         FichierLAN(14)       = "JPN"
  753.         RubriqueInf(14)      = "Japanese"
  754.  
  755.     ''Hongrois N° 15
  756.         Langue(15)           = "hungarian"
  757.         FichierLAN(15)       = "HUN"
  758.         RubriqueInf(15)      = "Hungarian"
  759.         RepDidacticiel(15)   = "HUN_CBT"
  760.         IconeDidacticiel(15) = "Bevezet⌡"
  761.  
  762.     ''Coreen N° 10
  763.         Langue(10)          = "korean"
  764.         FichierLAN(10)      = "KOR"
  765.         RubriqueInf(10)     = "Korean"
  766.         RepDidacticiel(10)  = "KOR_CBT"
  767.         IconeDidacticiel(10)= "┴÷╡╡╝¡"
  768.  
  769.     ''Brésilien N° 11
  770.         Langue(11)          = "brazilian"
  771.         FichierLAN(11)      = "BRA"
  772.         RubriqueInf(11)     = "Brazilian"
  773.         RepDidacticiel(11)  = "BRA_CBT"
  774.  
  775.     ''Portugais N° 12
  776.         Langue(12)          = "portugese"
  777.         FichierLAN(12)      = "POR"
  778.         RubriqueInf(12)     = "Portugese"
  779.         RepDidacticiel(12)  = "POR_CBT"
  780.  
  781.      ''Finnois N° 13        = "finnish"
  782.         FichierLAN(13)       = "FIN"
  783.         RubriqueInf(13)      = "Finnish"
  784.         RepDidacticiel(13)   = "FIN_CBT"
  785.         IconeDidacticiel(13) = "Opetusohjelma"
  786.         IconeUnInstall(13)   = "Poista asennus"
  787.         IconeSuivi(13)       = "Kelaa"
  788.  
  789.      ''Suedois N° 8        = "swedish"
  790.         FichierLAN(8)       = "SWE"
  791.         RubriqueInf(8)      = "Swedish"
  792.         RepDidacticiel(8)   = "SWE_CBT"
  793.         IconeDidacticiel(8) = "Guide"
  794.         IconeUnInstall(8)   = "AvInstallera"
  795.         IconeSuivi(8)       = "S÷ker"
  796.  
  797.      ''Norvégien N° 9       = "norwegian"
  798.         FichierLAN(9)       = "NOR"
  799.         RubriqueInf(9)      = "Norwegian"
  800.         RepDidacticiel(9)   = "NOR_CBT"
  801.         IconeDidacticiel(9) = "Innf°ring"
  802.         IconeUnInstall(9)   = "AvInstaller"
  803.         IconeSuivi(9)       = "Oppf°lging"
  804.  
  805. END SUB
  806. '*************************************************************************
  807.